using UnityEngine;

public class Bullet : MonoBehaviour
{
    public float speed = 10f;            // 子弹的移动速度
    public float rotationSpeed = 500f;  // 子弹的旋转速度
    private Vector2 moveDirection;      // 子弹的移动方向
    private float screenTopY;

    void Start()
    {
        // 获取鼠标的世界空间位置
        Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);

        // 计算从子弹到鼠标位置的方向，并归一化
        moveDirection = (mousePosition - transform.position).normalized;
        // 获取屏幕顶部的Y坐标
        screenTopY = Camera.main.ScreenToWorldPoint(new Vector3(0, Screen.height, 0)).y;
    }

    void Update()
    {
        // 保持子弹沿着计算出的方向直线移动
        transform.position += (Vector3)moveDirection * speed * Time.deltaTime;

        // 子弹绕自身旋转
        transform.Rotate(0, 0, rotationSpeed * Time.deltaTime);
        // 检查子弹的y位置是否超出屏幕顶部，如果超出则销毁
        if (transform.position.y > screenTopY)
        {
            Destroy(gameObject); // 销毁子弹
        }
    }
}


